# class Athlete:
	# def __init__(self,a_name,a_dob=None,a_times=[]):
		# self.name = a_name
		# self.dob = a_dob
		# self.times = a_times
	# def top3(self):
		# return sorted(set([sanitize(t) for t in self.times]))[0:3]
	# def add_time(self,time_value):
		# self.times.append(time_value)
	# def add_times(self,list_of_times):
		# self.times.extend(list_of_times)
class AthleteList(list):
	def __init__(self,a_name,a_dob=None,a_times=[]):
		list.__init__([])
		self.name = a_name
		self.dob = a_dob
		self.extend(a_times)
	def top3(self):
		return(sorted(set([sanitize(t) for t in self]))[0:3]) 

def sanitize(time_string):
	if '-' in time_string:
		splitter = '-'
	elif ':' in time_string:
		splitter = ':'
	else:
		return(time_string)
	(mins,secs) = time_string.split(splitter)
	return(mins+'.'+secs)

def get_coach_data(filename):
	try:
		with open(filename) as f:
			data = f.readline()
			templ = data.strip().split(',')
			return(AthleteList(templ.pop(0),templ.pop(0),templ))
	except IOError as ioerr:
		print('File error: '+ str(ioerr))
		return(None)

# sarah = get_coach_data('sarah2.txt')
# (sarah_name,sarah_dob) = sarah.pop(0),sarah.pop(0)
# print(sarah_name+"'s fastest times are: " + 
		# str(sorted(set(sanitize(t) for t in sarah))[0:3]))

sarah = get_coach_data('sarah2.txt')
julie = get_coach_data('julie2.txt')
mikey = get_coach_data('mikey2.txt')
james = get_coach_data('james2.txt')

print(sarah.name + "'s fastest times are: " + 
		str(sarah.top3()))
print(julie.name + "'s fastest times are: " + 
		str(julie.top3()))
print(mikey.name + "'s fastest times are: " + 
		str(mikey.top3()))	
print(james.name + "'s fastest times are: " + 
		str(james.top3()))			
			
# vera = Athlete('vera vi')
# vera.add_time('3.19')
# print(vera.top3())
# vera.add_times(['3.18','4.20','4-01'])
# print(vera.top3())

# vera = AthleteList('vera vi')
# vera.append('1.34')
# print(vera.top3())
# vera.extend(['2.22','1-21','2:22'])
# print(vera.top3())